package com.iot.ammeter.model.parcelable

import android.os.Parcelable
import com.iot.ammeter.R
import com.iot.ammeter.network.NetworkHelper
import com.iot.ammeter.network.ResponseData
import kotlinx.parcelize.Parcelize

/**
 * 用户基础信息，用户登录后存储于 MMKV 中，与 Token 保持同步，用于 APP 启动时初始化用户信息。
 * 最新用户信息应当在初始化后从后端的数据接口中获取
 */
@Parcelize
data class UserInfo(
    val userId: String,
    var deviceId: String?,
    var balance: Float,
    var useBalanceDefault: Boolean,
) : Parcelable, ResponseData

/**
 * - [Finished] 已缴费
 * - [Unfinished] 未缴费
 * - [Overdue] 已逾期
 */
enum class ChargeStatus(val msgResId: Int, val color: Int, val iconResId: Int) {
    Finished(
        R.string.charge_status_finished,
        R.color.Success,
        R.drawable.baseline_price_check_black_48
    ),
    Unfinished(
        R.string.charge_status_unfinished,
        R.color.Warn,
        R.drawable.baseline_payments_black_48
    ),
    Overdue(
        R.string.charge_status_overdue,
        R.color.Serious,
        R.drawable.baseline_notification_important_black_48
    )
}
